# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/27 15:50 
@Author  : ZhangShenao 
@File    : generator_expression.py 
@Desc    : 生成器表达式
生成器表达是一种创建生成器的简单方式,写法为:
生成器 = (针对item的操作 for item in Iterable)
"""

# 创建生成器表达式,遍历一个字符串中的所有字符
letter_iterator = (letter for letter in 'abcdefg')
# 通过生成器表达式,生成的类型为generator
print(f'type of letter_iterator is {type(letter_iterator)}')  # type of letter_iterator is <class 'generator'>
# 遍历生成器表达式
for letter in letter_iterator:
    print(letter, end='\t')

print('\n')

# 创建生成器表达式,将一个list中的所有元素转换成大写,并重复两遍
upper_twice_iterator = (letter.upper() * 2 for letter in ['a', 'b', 'C', 'D', 'e', 'f', 'G'])
for letter in upper_twice_iterator:
    print(letter, end='\t')  # AA	BB	CC	DD	EE	FF	GG
print('\n')
